#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QPushButton>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;

private:

    QString pushButtonStyle = "\
        QPushButton{\
            color: rgb(255, 255, 255);\
            background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgb(166, 164, 208), stop:1 rgb(152, 140, 220));\
            border-radius: 5px;\
        }\
        QPushButton:hover{\
            color: rgb(255, 255, 255);\
            background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgb(130, 120, 226), stop:1 rgb(125, 140, 226));\
            border-radius: 5px;\
        }\
        QPushButton:pressed{\
            color: rgb(255, 255, 255); \
            background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgb(240, 156, 121), stop:1 rgb(230, 140, 120));  \
            border-radius: 5px;\
        }\
        ";


    QString checkBoxStyle = "\
        QCheckBox::indicator {\
            width: 13px;\
            height: 13px;\
        }\
        QCheckBox::indicator:unchecked {\
            image: url(:/images/checkbox_unchecked.png);\
        }\
        QCheckBox::indicator:unchecked:hover {\
            image: url(:/images/checkbox_unchecked_hover.png);\
        }\
        QCheckBox::indicator:unchecked:pressed {\
            image: url(:/images/checkbox_unchecked_pressed.png);\
        }\
        QCheckBox::indicator:checked {\
            image: url(:/images/checkbox_checked.png);\
        }\
        QCheckBox::indicator:checked:hover {\
            image: url(:/images/checkbox_checked_hover.png);\
        }\
        QCheckBox::indicator:checked:pressed {\
            image: url(:/images/checkbox_checked_pressed.png);\
        }\
        QCheckBox::indicator:indeterminate:hover {\
            image: url(:/images/checkbox_indeterminate_hover.png);\
        }\
        QCheckBox::indicator:indeterminate:pressed {\
            image: url(:/images/checkbox_indeterminate_pressed.png);\
        }\
        ";

     QString radioButtonStyle = "\
        QRadioButton::indicator {\
            width: 13px;\
            height: 13px;\
        }\
        QRadioButton::indicator::unchecked {\
            image: url(:/images/radiobutton_unchecked.png);\
        }\
        QRadioButton::indicator:unchecked:hover {\
            image: url(:/images/radiobutton_unchecked_hover.png);\
        }\
        QRadioButton::indicator:unchecked:pressed {\
            image: url(:/images/radiobutton_unchecked_pressed.png);\
        }\
        QRadioButton::indicator::checked {\
            image: url(:/images/radiobutton_checked.png);\
        }\
        QRadioButton::indicator:checked:hover {\
            image: url(:/images/radiobutton_checked_hover.png);\
        }\
        QRadioButton::indicator:checked:pressed {\
            image: url(:/images/radiobutton_checked_pressed.png);\
        }\
        ";

    QString comboBoxStyle = "\
        QComboBox {\
            border: 1px solid gray;\
            border-radius: 3px;\
            padding: 1px 18px 1px 3px;\
            min-width: 6em;\
        }\
        QComboBox:editable {\
            background: white;\
        }\
        QComboBox:!editable, QComboBox::drop-down:editable {\
             background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\
                                         stop: 0 #E1E1E1, stop: 0.4 #DDDDDD,\
                                         stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3);\
        }\
        /* QComboBox gets the on state when the popup is open */\
        QComboBox:!editable:on, QComboBox::drop-down:editable:on {\
            background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\
                                        stop: 0 #D3D3D3, stop: 0.4 #D8D8D8,\
                                        stop: 0.5 #DDDDDD, stop: 1.0 #E1E1E1);\
        }\
        QComboBox:on { /* shift the text when the popup opens */\
            padding-top: 3px;\
            padding-left: 4px;\
        }\
        QComboBox::drop-down {\
            subcontrol-origin: padding;\
            subcontrol-position: top right;\
            width: 15px;\
            border-left-width: 1px;\
            border-left-color: darkgray;\
            border-left-style: solid; /* just a single line */\
            border-top-right-radius: 3px; /* same radius as the QComboBox */\
            border-bottom-right-radius: 3px;\
        }\
        QComboBox::down-arrow {\
            image: url(/usr/share/icons/crystalsvg/16x16/actions/1downarrow.png);\
        }\
        QComboBox::down-arrow:on { /* shift the arrow when popup is open */\
            top: 1px;\
            left: 1px;\
        }\
        ";

        QString AllStyle = checkBoxStyle + radioButtonStyle + comboBoxStyle;

};
#endif // MAINWINDOW_H
